|
はプログラミング言語のひとつ。グーグル社によって開発されており〔〕、設計にロブ・パイク、ケン・トンプソンらが関わっている。 主な特徴として、軽量スレッディングのための機能、のような動的型付け言語のようなプログラミングの容易性、などがある。処理系としてはコンパイラのみが開発されている。 発表当初はLinuxとMac OS Xのみしかサポートしていなかったが〔〕、2012年3月にリリースされたバージョン1.0からはもサポートされている。2014年12月にリリースされたバージョン1.4からAndroidをサポートし、2015年8月19日にリリースされたバージョン1.5からiOSをサポートしている。また、2011年5月10日に公開された 1.5.0 でも、言語がサポートされている〔〕。 ==概要== の構文は様々な言語に部分的に類似している。変数の定義における型の記法はと同様の後置でやに類似し、ブロックの区切りに波括弧を使う記法はC言語に類似している。やでは条件式を丸括弧で括らず帰結部分には波括弧が必須である。メモリ管理はガベージコレクションに一任され、連想配列も備える。並列処理はやと同様、アントニー・ホーアによるCSPのプロセス代数をモデルとし〔http://golang.org/doc/go_faq.html〕、Limboと同様チャンネルによるスレッド間通信機能がある。 型の継承、ジェネリックプログラミング、アサーション、オーバーロードといった機能が存在しないことも特徴である。他の言語で使われている try-catch 方式の例外処理機能はないが代わりの機能としてpanic とrecover を用いた例外処理機能を提供している。〔FAQにおいて、ジェネリックプログラミングは一部導入が表明されているが、オーバーロードは効率的見地から排除されたことが述べられている。関数は多値を返すことができるので、それによりエラーの報告は容易である、としている。バージョン1.5から、コンパイラとランタイムのソースコードに含まれていたC言語のソースコードがなくなり、は自身とアセンブリで記述されるようになった。 バージョン1.6から、64ビットMIPS上で動作するLinux版および32ビットx86上で動作するAndroid版ポートが追加された。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Go (プログラミング言語)」の詳細全文を読む スポンサード リンク
|